perm filename RDD[MUS,LCS] blob
sn#319844 filedate 1977-12-02 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00005 ENDMK
C⊗;
EXTERNAL FUNCTION GETINF(ARRAY J,INSR,INBT,INCH,INMX,INDR),
RDSMPL(ARRAY N,BITS);
ARRAY INF(1536);
VARIABLE /CNT,/RD,/SCNT,INCH,INSR,INMX,INDR,INBT,INBUF,
IX,/INC;
FUNCTION PRNTIT(CNT,INSR,INBT,INCH,INMX,INDR,INBUF);
BEGIN
INBUF←1535-512*INBT;
PRINT "SRATE=",INSR," BITS=",12+INBT*6," NCHNS=",INCH,
" MAXAMP=",INMX," DUR=",INDR/INSR/INCH;
CNT←INBUF; INDR←INDR-2;
END;
INC← 1;
FUNCTION READIN(RD);
BEGIN <DON'T FORGET TO INIT AND SCNT ← 0;
IF SCNT=0 THEN BEGIN
GETINF(INF,INSR,INBT,INCH,INMX,INDR); <HEADER IS READ INTO ARRAY INF.
PRNTIT(CNT,INSR,INBT,INCH,INMX,INDR,INBUF); INBUF←INBUF+1;
END;
SCNT←SCNT+INC;
IF SCNT > INDR THEN BEGIN <CHECK TO SEE IF SMPL CNT IS EXCEEDED
RD←0; RETURN(RD); END;
IF CNT > INBUF THEN BEGIN
RDSMPL(INF,INBT);
CNT←0; END;
RD←INF(CNT);
IF CNT ≠ INT(CNT) THEN BEGIN
IX ← CNT+1;
IF IX > INBUF THEN EXIT;
RD←RD+(INF(IX)-RD)*(CNT-INT(CNT));
END;
CNT←CNT+INC; <UPDATE THE COUNTER
RETURN(RD); END;
INSTRUMENT READA;
OUTA←OUTA+P4*READIN(RD);
END;
SETMAG;1 12
PLAY;
READA 0 .5 0 .7 .00025 300 ;
INC← 1/1.28;
SCNT←0; INFILE←"U";
READA .5 .37 0 1.5 .00025 300 ; PRINT "AGAIN ";
INC←INC*D/C;
SCNT←0; INFILE←"U";
READA 1 .38 0 1.5 .00025 300 ; PRINT "AGAIN ";
INC←INC*E/D;
SCNT←0; INFILE←"U";
READA 1.5 .5 0 1. .00025 300 ; PRINT "AGAIN ";
INC←INC*C/E;
SCNT←0; INFILE←"U";
FINISH;